package com.zzyl.service;

import com.zzyl.dto.UserLoginRequestDto;
import com.zzyl.entity.Member;
import com.zzyl.vo.LoginVo;

import java.util.List;

public interface MemberService {
    /**
     * 新增会员
     *
     * @param member 会员对象
     * @return 成功新增的会员ID
     */
    Long insertMember(Member member);

    /**
     * 更新会员信息
     *
     * @param member 会员对象，包含要更新的属性
     * @return 更新影响的行数
     */
    int updateMember(Member member);

    /**
     * 删除会员
     *
     * @param memberId 会员ID
     * @return 删除影响的行数
     */
    int deleteMember(Long memberId);

    /**
     * 根据ID获取会员信息
     *
     * @param memberId 会员ID
     * @return 会员对象
     */
    Member getMemberById(Long memberId);

    /**
     * 获取所有会员信息
     *
     * @return 会员列表
     */
    List<Member> getAllMembers();

    /**
     * 登录
     * @param dto
     * @return
     */
    LoginVo login(UserLoginRequestDto dto);
}
